/* arch/x86_64/include/arch/string.h  
 * 
 * This file is part of xnix. 
 * 
 * XNIX is free software: you can redistribute it and/or modify 
 * it under the terms of the GNU General Public License as published by 
 * the Free Software Foundation, either version 3 of the License, or 
 * (at your option) any later version. 
 * 
 * XNIX is distributed in the hope that it will be useful, 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
 * GNU General Public License for more details. 
 * 
 * You should have received a copy of the GNU General Public License 
 * along with XNIX. If not, see <https://www.gnu.org/licenses/>
 */ 




#ifndef ARCH_STRING_H
#define ARCH_STRING_H


#ifndef __ASSEMBLER__


#define memset(d, v, c) ({			\
	__asm__ volatile ("cld;rep stosb;"	\
		:: "c" (c), "D" (d), "a" (v));	\
	d;})


#endif

#endif
